diff --git a/src/open-with-dlg.c b/src/open-with-dlg.c
index 0f42632..462b805 100644
--- a/src/open-with-dlg.c
+++ b/src/open-with-dlg.c
@@ -119,7 +119,7 @@ static gboolean xa_open_with_dialog_mouse_button_event (GtkWidget *widget, GdkEv
 	return FALSE;
 }
 
-static void xa_destroy_open_with_dialog (GtkObject *object, Open_with_data *data)
+static void xa_destroy_open_with_dialog (GTK_COMPAT_DESTROY_TYPE object, Open_with_data *data)
 {
 	g_free(data->files);
 	g_slist_foreach(data->apps, (GFunc) xa_app_free, NULL);
diff --git a/src/support.h b/src/support.h
index 0f1d737..3f804e0 100644
--- a/src/support.h
+++ b/src/support.h
@@ -160,10 +160,12 @@ static inline void gtk_combo_box_text_remove (GtkWidget *combo_box, gint positio
 
 #if GTK_CHECK_VERSION(3,0,0)
 #define GTK_COMPAT_ADJUSTMENT_TYPE GtkAdjustment *
+#define GTK_COMPAT_DESTROY_TYPE GtkWidget *
 #undef GTK_COMPAT_SWITCH_PAGE_TYPE
 #define GTK_COMPAT_SWITCH_PAGE_TYPE GtkWidget *
 #else
 #define GTK_COMPAT_ADJUSTMENT_TYPE GtkObject *
+#define GTK_COMPAT_DESTROY_TYPE GtkObject *
 #endif
 
 #endif
